package game.logic.app;

import java.awt.Color;
import java.util.ArrayList;
import java.util.List;

public final class PuzzleBricks
{
    private static final Color Black = new Color(0x0E, 0x0E, 0x0E);
    private static final Color White = new Color(0xEE, 0xEE, 0xEE);
    private static final Color Red = new Color(0xAA, 0x33, 0x33);
    private static final Color Yellow = new Color(0xCC, 0xCC, 0x66);
    private static final Color Blue = new Color(0x33, 0x33, 0xDD);

    public static List<PuzzleBrick> all()
    {
        List<PuzzleBrick> bricks = new ArrayList<>();
        bricks.add(new PuzzleBrick('1', Black, 1, 1, true));
        bricks.add(new PuzzleBrick('2', Black, 2, 1, true));
        bricks.add(new PuzzleBrick('3', Black, 3, 1, true));
        bricks.add(new PuzzleBrick('4', Red, 4, 1, false));
        bricks.add(new PuzzleBrick('5', Yellow, 5, 1, false));
        bricks.add(new PuzzleBrick('6', Red, 2, 2, false));
        bricks.add(new PuzzleBrick('7', White, 3, 2, false));
        bricks.add(new PuzzleBrick('8', Blue, 4, 2, false));
        bricks.add(new PuzzleBrick('9', Yellow, 5, 2, false));
        bricks.add(new PuzzleBrick('0', White, 3, 3, false));
        bricks.add(new PuzzleBrick('X', Blue, 4, 3, false));
        return bricks;
    }

    public static List<PuzzleBrick> barriers()
    {
        List<PuzzleBrick> bricks = new ArrayList<>();
        bricks.add(new PuzzleBrick('1', Black, 1, 1, true));
        bricks.add(new PuzzleBrick('2', Black, 2, 1, true));
        bricks.add(new PuzzleBrick('3', Black, 3, 1, true));
        return bricks;
    }

    public static List<PuzzleBrick> normals()
    {
        List<PuzzleBrick> bricks = new ArrayList<>();
        bricks.add(new PuzzleBrick('4', Red, 4, 1, false));
        bricks.add(new PuzzleBrick('5', Yellow, 5, 1, false));
        bricks.add(new PuzzleBrick('6', Red, 2, 2, false));
        bricks.add(new PuzzleBrick('7', White, 3, 2, false));
        bricks.add(new PuzzleBrick('8', Blue, 4, 2, false));
        bricks.add(new PuzzleBrick('9', Yellow, 5, 2, false));
        bricks.add(new PuzzleBrick('0', White, 3, 3, false));
        bricks.add(new PuzzleBrick('X', Blue, 4, 3, false));
        return bricks;
    }
}
